// 这个文件就是咱们仓库的主文件
// redux 怎么用
// npm i redux react-redux , redux 就是仓库 react-reudux 是将组件和仓库进行关联的一个包
// as 是起别名， 在下一行中 以后createStore 就相当于是legacy_createStore了
// redux 本身不支持异步，要想支持异步，需要中间件，处理异步的中间件有redux-thunk，redux-logger
// combineReducers 是用来合并抽离出去之后的reducer的
// applyMiddleware 是用来处理中间件的
import {legacy_createStore as createStore,combineReducers,applyMiddleware} from "redux"
import Appreducer from "./Appreducer";
import thunk from "redux-thunk" // 处理异步的
import logger from "redux-logger" // 打日志的
// createStore接收一个函数，这个函数一般起名为reducer
// reuducer 里又接收两个参数，一个参数是state，另一个参数叫做action，action是修改state的唯一途径
// js中有函数的默认参数
let reducer = combineReducers({ // combineReducers 是用来合并抽离出去之后的reducer的
    Appreducer
})
export default createStore(reducer,applyMiddleware(thunk,logger))

// getState是获取数据的
// res是一个对象，这个对象可以打印出@@observable

// dispatch
// : 
// ƒ dispatch(action)
// getState
// : 
// ƒ getState()
// replaceReducer

